Laptop Motherboard? No, X86 Single-Board Computer! | Hackaday

2023-02-28 13:56:57 By : Mr. Charlie Sun

Sometimes a Raspberry Pi will not cut it – especially nowadays, when the prices are high and the in-stock amounts are low. But if you look in your closet, you might find a decently-specced laptop with a broken screen or faulty hinges. Or perhaps someone you know is looking to get rid of a decent laptop with a shattered case. Electronics recycling or eBay, chances are you can score a laptop with at least some life left in it.

Let’s hack! I’d like to show you how a used laptop motherboard could be the heart of your project, and walk you through some specifics you will want to know.

And what a great deal it could be for your next project! Laptop motherboards can help bring a wide variety of your Linux- and Windows-powered projects to life, in a way that even NUCs and specialized SBCs often can’t do. They’re way cheaper, way more diverse, and basically omnipresent. The CPU can pack a punch, and as a rule PCIe, USB3, and SATA ports are easily accessible with no nonsense like USB-throttled Ethernet ports.

Apart from unparalleled availability all around us, laptop motherboards can help you add a range of cool features to your project, without reinventing the wheel! Want some hardware-accelerated video encoding? The CPU’s integrated GPU is at your service, and if there’s a discrete GPU, it might be just what you’re looking for in a DVR project of yours. Do you want a display attached to your project for your notification or video playback needs? It was born to have a display, just make sure you have a suited cable and a compatible LCD panel – usually, most of them from the same date range. A SATA drive or two, perhaps? A laptop was born to work with those; at least, the not-so-recent ones are.

Do you want battery backup for your project – perhaps, do you want to safety shut everything down when power cuts out? Laptops are meant to do that! If you base your DVR or DIY security system around a laptop motherboard and add the laptop battery to the mix, it can easily last an hour-two when the power goes out, and if you use one as your pick&place machine controller, it won’t lose all job data when someone trips the breakers in your hackerspace.

Are you looking to run some VMs for your home automation, safety, convenience or other purposes? You might go for a $300 multi-core ARM SBC, learning the questionable joys of ARM virtualization and containerization hiccups along the way. Alternatively, you might go for a $50 piece of consumer hardware with a, still, pretty powerful CPU that will flawlessly run all your likely-already-x86 VMs. Hardware-accelerated encryption, for whatever you might need it? Both Intel and AMD will serve you well here.

Oh, and it’s x86 – most software will run on it, and some software runs on x86 exclusively; in such cases, going for a x86 board is a no-brainer. Is a laptop mainboard going to be as low-power as an ARM core? No. Will it be really damn close, with laptops always optimized for low power? Yes! Will it give you less grief in quite a few scenarios? Also yes! Is it widely tested hardware with a trove of software to use? Yes, yes and yes.

Apart from discussing the purpose-tailored aspects, however, there is something seriously fun about taking a piece of technology that’s almost-but-not-quite suitable for your project, and making it fit your needs exactly as you need it. It makes for quite a learning experience, too. Especially if you can access schematics, you get a glimpse into what it takes to design a product fit to reach tens of thousands of people in different circumstances, and a pretty complex product electronics-wise, at that.

Even in cases where the advantage of a laptop board over a Raspberry Pi isn’t clearcut, it makes your project journey bit more remarkable. By now, I build projects based on laptop motherboards as a bit of a hobby – it’s not just a means to an end, but also a lovely way to spend some time, and a bit more noteworthy than using a generic single-board computer for achieving whatever need you’re looking to get fulfilled.

You can indeed build a DVR, or a VM server, a general-purpose server with more oomph, or a controller box for that one machine that requires Windows for its software – a pick and place, lasercutter, or a fancy printer with one-of-a-kind software setup requirement. Apart from all the fun aspects that laptop board reuse has, it generally makes sense to use laptop motherboards in projects that take advantage of x86 strengths – and there’s quite a few examples that come to mind.

For instance, I’ve built a dual display-over-the-network receiver for my workshop needs, with a cheap laptop motherboard from some 2012 laptop, showing datasheets and browser windows on a far away desk where pulling video cables wasn’t practical. Its CPU, while anemic, decodes video streams easily thanks to out-of-the-box hardware acceleration. Its Ethernet connection is gigabit by default, backed by a decent PCIe link instead of a USB bottleneck – throughput isn’t a problem. Given the dual video output requirement, I also didn’t have to dedicate a Pi 4 to the task – after all, those are rare beasts nowadays. Best of all, of course, was that I only spent $20 on the components.

Another laptop board now serves as my backup processing server. It came out of a fancy laptop with four SATA drives, and plenty of PCIe exposed – great for backing up my NVMe drives. There’s no network connection – a backup handling server is best off without it; I did, however, replace its SATA plugs with sockets so that I could wire them up to some cheap 3.5″ drives. Nowadays, I boot it up once in a while, run a time-consuming backup or compression/encryption job, and comfortably leave it for a while until it finishes processing – this way, if I need to backup or encrypt something, I don’t need to leave my main laptop tethered to a HDD.

You typically won’t need to look out for much if you’re getting the board as part of a broken-case laptop. However, if you’ve found a bare motherboard deal, you’ll want to know some things. First off, don’t buy boards that come without a heatsink, unless you can get one on the cheap separately. The CPU / GPU / chipset heatsinks are custom-tailored for each board out there, and unless you want to spend a ton of time figuring a cooling solution for the bare chip, I advise you not to bother. Also make sure you receive the necessary daughterboards, especially if the daughterboard looks crucial for functioning: like it has the power switch, CMOS battery, or project-required ports. For the first two, schematics might help, but of course, won’t always be sufficient.

It also helps if you can find schematics for your board online. You can usually simply look them up in your search engine of choice. This can get you into a legal grey zone, though, because sometimes these copyrighted schematics are being given away without permission. I’ll put it this way – if you ever want to get more out of your board, say, wire a few buttons up to the keyboard connector or tap into a 3.3 V power rail for part of your project, schematics will help you quite a bit.

Laptop chargers are important, too! In essence, they are power supplies – the battery charging is done with a separate chip on your laptop’s mainboard. If your laptop works from 18 V to 20 V, then any 18 V to 20 V charger will work with it; solder wires to the board if you don’t have a matching plug for the socket. If your laptop is from the HP-Dell-Lenovo dark triad and you use a different charger, you will want to spoof the charger power detection – accessible as the third pin on the DC input socket. HP and Lenovo use resistors to ground, and Dell uses 1-wire EEPROM chips, that you can either buy online or spoof with an ATTiny. As usual, higher amperage charger is okay, lower amperage charger is likely not sufficient. With USB-C-powered boards, you shouldn’t have any problems of the sort. I recommend against using 24 V power supplies – components on the power input path, like input capacitors, might only be rated to 25 V.

In general, the more parts that come together with your board, the better; however, working with the bare board itself is also okay. Whichever you pick, plug some RAM in, and let’s get going – in the next installment!

the moribund x86 is hopeless. Lack of new mainstream os support almost equal to dead.

I imagine here it also refers to x86-64, considering that’s pretty old by this point.

I’ve been using an old laptop (2009-ish Core 2 Duo) for 3 years as personal server for many tasks: DVR, torrent client, NAS and host for small services (personal telegram bots and web apps).

It was a relief to replace that stack of arbitrary sized modules – two USB HDD adapters, power supply, battery pack, a RPi 3 (ouch), heat sinks and cooling fans – with a single black box and its power supply.

Even though it is 7 years older than a RPi 3, it still has better performance, lower price and higher maintainability…

I think we really need to know what laptop has 4 SATA ports the most I’ve seen is usually three!

Sure! That one was some HP dv8t-1000 – a high-end 1st gen Intel 18″ laptop (socketable CPU, only supports GPU-less i7); has two HDD bays, one ODD bay and one eSATA, for a total of 4; plus, IIRC two mPCIe and ExpressCard; so, three spare PCIe 1x links ^^ No hardware acceleration for encryption (AES-NI) because 1st gen, but, can’t have everything, I guess =D

For a true Pi replacement, I would be interested in getting recommendations for GPIO on it. I assume something USB connected, and with the right drivers for something like Python. Any suggestions?

Does this fit the bill? https://learn.adafruit.com/circuitpython-on-any-computer-with-ft232h/gpio

Ah, perfect! Thank you kind sir!

not opposing the ftdi suggestion, but personally i would go with a raspberry pico rp2040 thing.

i have gpio on my pc through an stm32 discovery board, which is roughly the same thing but a lot more expensive and without as much niftiness. in particular, the stm32 on it has no usb support so it actually has a second stm32 that just does usb-to-swd interface…so i actually use gdbserver to interface with it, i send a stop command, read/write a memory buffer, and then send a continue command :)

i think the rp2040 makes that a lot easier, especially because it has a decent library of bootloaders and micropython and what-not you can use. and it has a lot more i/o flexibilty than the ftdi…and isn’t it crazy, it’s actually cheaper?

Yeah there’s a “u2if” interface that allows use of an rp2040 board with mainline python for circuit python like functionally. There’s also an mcp2221a board Adafruit has that does a similar thing (and is secretly a factory programmed PIC iirc) though a Pico is probably still cheaper.

Just get a regular pc mainboard with an lpt port (also known as paralel port). This gives you 12 gpios and 8 digital inputs. There are still new boards made with lpt ports, so you dont have to use some old pentium 1.

I hope the BIOS modding community can help with this idea so boards that have OEM restrictions on them like restricting what PCIe devices they will allow to be enabled can be removed to enable more PCIe devices to be used in laptop mainboard based projects. Maybe hackers will find ways to populate and use extra options on these like unpopulated headers originally intended for cell network connectivity.

It’s a shame none of the Pi copycats have been able to capitalize on the shortage and deliver a solid, cheap, easy to use, and well supported alternative. But I also find some humor that people are turning to older x86 systems to fill the gap. Intel tried to carve a niche for themselves in this space but all it took was a RasPi shortage and SBC prices to match that of 6-7 generation old used PC hardware :P

Yeah locked down hardware is the biggest reason I’d not deliberately purchase a ‘junk’ laptop for a project. If I am spending money (even only very little money) I want to be sure there can be life in the parts after whatever project is over, so grab an ATX/ITX leftover instead. As otherwise you end up buying a new junker to get the funcitonality for the next project with ever more ‘oh if only it could do …’ junkers kicking around.

I’m not surprised there isn’t a Pi clone of note out there though – parts are still not close to being back to what they were from my last look for bits so actually creating anything now is a challenge. And then putting in the good levels of support is an ongoing cost and expensive initially (and that is assuming you can get parts to make your SBC that are not under even more restrictive NDA than the Pi’s bits so it is possible).

honestly, i wouldn’t call it “a shame,” i’d say it’s nothing less than “an astonishment!” there are so many absolutely phenomenal arm products out there, but all the hobbyist-oriented SBCs seem to suffer from a combination of poor SoC selection, poor driver support, and closedness. basic tasks that 10 year old PCs (and even 10 year old ARM chromebooks) have let us take for granted are still a big uphill battle on raspberry pi or pine64 rockpro boards.

to the comment below this, i already have my reply “it simply ain’t so! those aren’t the facts, sir!” foldi-one wrote:

Also check thin clients on ebay. They are small, low power and typicaly also passive with no fan. Recently got HP t520 and t630 and they are quite good. t630 is even good enough as a desktop and is perfectly supported in linux including 3d acceleration, hevc decoding, suspend to ram (and windows 10 works fine too). t630 is ~50 eur thing including power adapter, 8GB ram and sata ssd.

Laptops may be fine but I hate those fans there.

there is good site with info about various thin clients, t630 info here https://www.parkytowers.me.uk/thin/hp/t630/

I think it’s quite epic that that ^^ site is still alive and kicking. :-) Used it myself 10~15 years ago and still wherever you surf and reusing thin clients is the topic someone will drop that URL. Did it myself a few times too.

Kinda wish it were more like a wiki and not running on one private server (I assume “.me.uk” is a dyn-dns domain?).

It’s not – it’s as established as .co.uk, and I believe the domains are the same price to buy, but intended for individuals rather than companies (or other organisations, or academic establishments).

The problem of that approach, for me, is that a laptop motherboard will not power on automatically after a power loss. Any suggestions for that?

If you’re expecting a couple of hours or less, easiest would be to get one with a still functioning battery and just never have it turn off. Make sure you get a laptop that has the charging managed to where it won’t kill the battery if plugged in all the time (I’ve had this issue on some older laptops).

If you want to recover after a natural disaster that takes out power for days/weeks, you could build a circuit that hits the power button just once after receiving power itself.

What you won’t find is a x86 laptop that supports running MS-DOS with EMM386 for expanded memory. Not even with LIM 4.0 where the 64K window doesn’t all have to be in one piece. Not even with even fancier 3rd party EMS drivers that can work where LIM 4.0 can’t.

Laptops tend to have their upper memory area fragmented excessively or too full for using all the built in peripherals so there’s not enough free to scrape together for the EMS window for paging.

I’ve been looking for a cheap x86 SBC or thin client capable of running DOS with EMS to run an old CNC milling machine for which the only control software available only works with EMS. It cannot use XMS.

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.

By using our website and services, you expressly agree to the placement of our performance, functionality and advertising cookies. Learn more